1. Field of the Invention
The present invention relates to a method and apparatus for dynamic attribute filtering in conjunction with network access. More particularly, the present invention relates to providing dynamic, scaleable attribute filtering in conjunction with a network access scheme that is compatible with different network protocols.
2. The Background
The Internet has become a communication medium that is easily and economically available to the masses on a worldwide scale. The proliferation of computers, computer-related devices (such as hand-held organizers), set-top boxes, or any tool that sends and/or receives digitized data has fed the demand for this vision. This is in accord with the premise that the sum of devices on a network is greater than the individual parts of the network. Concurrent with this proliferation of networked and data hungry devices is the increasing reliance on the Internet as the communication medium over which these devices may communicate.
However, because of bandwidth needs, cost, intended use, and/or applicability, these devices may not only employ disparate network access methods when seeking network access to the Internet but typically also may use different network layers. Apart from the challenges of supporting network access across disparate physical layers (wireless, cable, twisted pair) and data-link layers, there is also the challenge of supporting different access methods used by the devices seeking Internet network access.
These challenges include supporting network access methods such as dial-up, cable modem, and DSL (Digital Subscriber Line), while also maintaining a seamless level of service to a subscriber regardless of the type of network access method used. Thus far, solutions to the problem of trying to support disparate network access methods have not been able to tightly integrate the components used. This results in an approach that is not easily scaled so as to render difficult the ability to support new or additional access methods. Additionally, these approaches have typically relied upon more than one user record database and have not consistently provided fault tolerance to the components in a unified way.
Supporting different access methods requires clients and services that can provide the states (services and tasks) which are required to establish a particular network service required by a given access method. This requires access to user information that may differ in content and format according to the type of network access method used. Meeting these requirements has resulted in an implementation in which the clients and the services used are loosely integrated. For example, each client is tightly coupled to each service that the client uses and each service has its own database of information. Such an approach renders difficult the ability to provide an access point that can be easily expanded to include new access methods (scalable) and that provides the same subscriber service for all types of access methods used and/or access point location (unified).
Of heightened importance to the concept of trying to integrate disparate network access methods is the ability to provide a dynamic, scaleable data filtering process. Each client and service component that is accessed by the comprehensive integrated network access system will process and format data attributes in different ways. The integrated network access system needs to be able to filter and/or modify data and attribute tables to insure that service components and clients receive data that is pertinent and concise. Extraneous data or attributes that are improperly formatted will only serve to cause inefficiency in the integrated network access system and may lead to errors occurring.
As the integrated network access system evolves it will be capable of seamlessly incorporating new access methods and/or new protocols. Thus, it is essential that such a system rely on filters that are scaleable. The filtering scheme must be capable of easily adding new filters and filter methods to correlate to new access methods and/or new protocols.
Additionally, when the filtration process that is used is dynamic, changes can be made to a specific filter scheme without incurring downtime in service components. Using special techniques, such as broker/publisher communication protocols, changing a filter can be accomplished by writing script incorporating the modification. This type of dynamic filtering is preferred over filtration schemes that employ the service components directly and require changes to be implemented by making changes to the program code. Additionally, by associating filters to groups of records in the database, it is possible not to physically tie a filter to an incoming protocol packet.
Accordingly, there is a need for a dynamic, scaleable attribute-filtering scheme to support an integrated and unified network access system.
In one aspect of the invention, a device for processing network access requests responsive to more than one network access protocol comprises a protocol layer responsive to a client access request based on a first protocol, a gateway layer in communication with the protocol layer including at least one protocol handler for processing access requests and a state manager having more than one set of process states required for each network access method, and an inbound filter state object in communication with the gateway layer that is responsive to at least one protocol handler and is invoked to filter attribute data in the access request packets. Implemented as states, the device may comprise an outbound filter in communication with the gateway layer that is responsive to at least one protocol handler and is invoked to filter attribute data in the access request response packets.
In another aspect of the invention, a method for dynamic, scaleable attribute filtering in a multiple-protocol compatible network access environment comprises receiving an access request which is based upon a first supported network access protocol, processing the access request as a task, processing the task at a protocol handler to verify user identity, checking the access request at the protocol handler for an inbound filter attribute, retrieving a state interface pointer from a state manager based upon an inbound filter being found in the access request and invoking an inbound filter state object to filter the first access request in accordance with the first state interface pointer. Additionally the method for dynamic, scaleable attribute filtering may include proxying inbound filtered first access request to an access state object, sending the inbound filtered access request from the access state object to a service component, returning an access request response from a service component to the protocol handler via the state object, checking the access request response at the protocol handler for an outbound filter attribute, retrieving a state interface pointer from a state manager based upon an outbound filter being found in the access request response, and invoking an outbound filter state object to filter the access request response in accordance with the state interface pointer.